From: Jim Blandy Date: Thu, 11 Mar 1993 07:00:12 +0000 (+0000) Subject: * timer.c (main): Set the ownership of the stdin file descriptor X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~96958 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=b1839491710924caf83bfdc2533adfc6ab34aacb;p=emacs.git * timer.c (main): Set the ownership of the stdin file descriptor to the current process. Print error messages if either of the fcntl's fails. * timer.c (sigcatch): Declare this to return SIGTYPE (defined in ../src/config.h), not void. --- diff --git a/lib-src/timer.c b/lib-src/timer.c index 51642813fe3..84c384c9f22 100644 --- a/lib-src/timer.c +++ b/lib-src/timer.c @@ -213,7 +213,7 @@ getevent () notify (); } -void +SIGTYPE sigcatch (sig) int sig; /* dispatch on incoming signal, then restore it */ @@ -262,7 +262,18 @@ main (argc, argv) signal (SIGTERM, sigcatch); #ifndef USG - fcntl (0, F_SETFL, FASYNC); + if (fcntl (0, F_SETOWN, getpid ()) == -1) + { + fprintf (stderr, "%s: can't set ownership of stdin\n", pname); + fprintf (stderr, "%s\n", sys_errlist[errno]); + exit (1); + } + if (fcntl (0, F_SETFL, fcntl (0, F_GETFL, 0) | FASYNC) == -1) + { + fprintf (stderr, "%s: can't request asynchronous I/O on stdin\n", pname); + fprintf (stderr, "%s\n", sys_errlist[errno]); + exit (1); + } #endif /* USG */ while (1) pause ();